The following is a list of the known problems in this release of ODF. This includes the Radar Bug Tracking number, the bug title, details of the problem, and, in some cases, a workaround.
Tracking Number: 1205824
Description: ODF doesn't support Presentation changed
Solution: Change presentation is now supported. See clock sample.
Tracking Number: 121673
Description: Some event classes don't have accessors for modifier keys
Solution: Additional accessors added.
Tracking Number: 1247285
Description: Calling the HitTest method of a shape that was rendered using the FW_kNoRendering verb returns TRUE when the mouse is left ofver the object
Solution:Added code in all hit-test shapes to check for this.
Tracking Number: 1271019
Description: ODF uses 68k alignment with CodeWarrior on PowerPC
Solution: Fixed. We use native alignment, but use #pragma align for compatibility where necessary.
Tracking Number: 1293228
Description: ODFRC doesn't warn for non-existant constants...it uses zero as their value
Solution: ODFRC now warns in this case.
Tracking Number: 1307576
Description: ODF doesn't support ODPart::ChangeKind
Solution: ODF now supports multiple part kinds better, and has support for ChangeKinds.
Tracking Number: 1316647
Description: ODF parts don't run on systems without an FPU
Description: ODF doesn't support the scrolling focus (page up/ page down keys)
Solution: Fixed in FW_CScroller.
Tracking Number: 1323502
Description: Inconsistency in FW_CIconShape use of render verb. The Render method passes FW_kFrame, which is the render verb set by the constructor. The static RenderIcon method passes FW_kFill.
Solution: FW_CIconShape's constructor now uses FW_kFill for consistency.
Tracking Number: 1326493
Description: ODFRC's preprocessor doesn't handle macros with more than 1 argument
Solution: ODFRC's preprocessor is now ANSI C compliant.
Tracking Number: 1329945
Description: ODF should make it easier to implement an about box
Solution: Added FW_CPart::DoAbout.
Tracking Number: 1329999
Description: ODFRC requires string fields to be the last fields in a resource type declaration
Solution: Fixed. Strings can now appear anywhere in a type declaration.
Tracking Number: 1330003
Description: ODFRC doesn't allow resourcetypes with more than 2 arrays
Solution: Fixed.
Tracking Number: 1330586
Description: FW_CEditView doesn't use its fMaxChars field
Solution: Fixed in ODF 1.
Tracking Number: 1330858
Description: FW_CGraphicContext should use SetGWorld to guarantee support of offscreen bitmaps. It currently uses SetPort.
Solution: FW_CGraphicContext now uses SetGWorld.
Tracking Number: 1330919
Description: ODF should use the standard CodeWarrior runtime libraries
Solution: Fixed.
Tracking Number: 1331222
Description: Need FW_CBitmap::GetColor and FW_CBitmap::SetColor
Solution: The methods were added.
Tracking Number: 1333116
Description: FW_MEventHandler::BecomeTarget and FW_MEventHandler::ResignTarget are not virtual
Solution: Method virtuality was unchanged.
Workaround: The appropriate mechanism for dealing with targeting is to override some set of WantsToBeTarget, WillResignTarget, ActivateTarget, and DeactivateTarget. BecomeTarget and ResignTarget will remain non-virtual.
Tracking Number: 1334665
Description: FW_CString::ParseAsRealNumber shouldn't use sscanf
Solution: Now uses str2dec, but still isn't localizable.
Tracking Number: 1336798
Description: ODFDraw documents with linked objects can crash at close
Solution: Fixed.
Tracking Number: 1340299
Description: Deleting the target view doesn't reset the frame's target
Solution: FW_CView's destructor, and FW_MEventHandler's destructor resign target.
Description: Insert menu item allows users to select non-OpenDoc files
Solution: Fixed with the addition of a filter proc to the insert command.
Tracking Number: 1344632
Description: fInterest leak in FW_CNotification. Two methods of FW_CNotification dynamically allocate FW_CInterest objects, but the objects are not deleted.
Solution: Notification now uses interest objects rather than pointers to interest object.s
Tracking Number: 1344763
Description: Creating stationery on 68k Macintoshes with GX installed crashes.
Solution: Fixed. We weren't testing for the presence of the GX code fragments in IsGXInstalled.
Tracking Number: 1344842
Description: FW_CPart::PrivNewEventDispatcher should not be Priv
Solution: Renamed to NewEventDispatcher.
Tracking Number: 1345077
Description: PrintHandler code uses wrong string resource for printing errors
Solution: Fixed. we now use the correct string resources.
Tracking Number: 1345119
Description: Selecting "Alignment" in ODFDraw causes "Group" function to occur
Solution: Fixed.
Tracking Number: 1345139
Description: FW_CTracker assumes that the start click occurred in the content view
Solution: Fixed. Now calls fView->FrameToContent instead of frame->GetGontentView->FrameToContentView.
Tracking Number: 1345241
Description: Can't use FW_PREREGISTER_RUNTIME_OBJECT with writable stream
Solution: FW_PREREGISTER_RUNTIME_OBJECT now takes an FW_OObjectRegistry* instead of an FW_CReadableStream&.
Tracking Number: 1345266
Description: FW_CCharacterCount used where FW_ByteCount should be used in FWBndStr.h.
Solution: Fixed. String constructors always use FW_ByteCount.
Tracking Number: 1345298
Description: FileStream::Write with a byteLength of zero causes an assertion (count > 0)
Solution: No longer causes an assertion if count == 0
Tracking Number: 1345299
Description: FW_CSuperView doesn't have WriteSubViewsToStream
Solution: Added.
Tracking Number: 1345983
Description: FW_CMapping needs a GetMappingMode method
Solution: Added.
Tracking Number: 1345997
Description: FW_CListBox constructor parameter order is inconsistent with other views.
Solution: Fixed. All view constructors now take their first 4 params in the order (environment, containterView, bounds, viewID).
Tracking Number: 1346423
Description: FW_CRegionShape's constructor doesn't acquire the ODShape
Solution: Added an FW_CInk data member, fEraseInk, to FW_CStaticText. By default it is initialized to white. When the view is drawn, the invalid area is erased using the erase ink prior to drawing.
Tracking Number: 1347018
Description: FW_CFacetClipper's constructor takes an unnecessary part parameter
Solution: Both the ev and part parameter were removed.
Tracking Number: 1347450
Description: FW_CString::operator[] not correct for strings that contain double-byte characters
Solution: Fixed.
Tracking Number: 1347454
Description: TradMac_GetBytePosition not correct for strings containing double-byte characters
Solution: Fixed.
Tracking Number: 1347747
Description: FW_MProxy::SetEmbeddedFramesViewType should call ODFrame::ChangeViewType instead of ODFrame::SetViewType
Solution: SetEmbeddedFramesViewType was renamed to ChangeEmbeddedFramesViewType. ChangeEmbeddedFramesViewType calls ODFrame::ChangeViewType.
Tracking Number: 1347772
Description: Default thumbnail is drawn incorrectly (line from bottom-left to top-rightis one pixel too far to the right)
Solution: Fixed.
Tracking Number: 1347777
Description: FW_CRegionShape::Flatten is not implemented
Solution: Added (currently Mac only).
Tracking Number: 1349362
Description: Bit manipulation error in FW_View::AdjustToNewLayout (test for FW_kFixedWidth was broken)
Solution: Fixed.
Tracking Number: 1349786
Description: FW_CString::GrowCapacity, FW_PrivString_SetCapacity and FW_CStringWriter::MakeWriter are declared but not implemented
Solution: The first two have been implemented. MakeWriter has been removed.
Tracking Number: 1350428
Description: FW_PrivAlert isn't dealing with error conditions properly. The value returned from the call to GetNewDialog is not tested for NULL, and the dialog is potentially disposed multiple times.
Solution: Fixed.
Tracking Number: 1350446
Description: When ODButton is selected, it acts like it is active
Solution: Fixed.
Tracking Number: 1350723
Description: Container doesn't draw its selection correctly after it has been viewed in its own window
Solution: Fixed.
Tracking Number: 1350741
Description: FW_CView::SetVisible(FALSE) should invalidate. The fact that it doesn't causes hiding some views to leave droppings.
Solution: Fixed.
Tracking Number: 1350926
Description: Print handler NotifyDefaultPrinter and NotifyPrintingCanceled load incorrect strings.
Solution: Fixed.
Tracking Number: 1350995
Description: FW_MDroppableFrame::Drop should test for the point to be in the content view
Solution: Fixed.
Tracking Number: 1351277
Description: FW_CMenuBar does not enable access to its menus making it impossible to add new menu items.
Solution: Renamed FW_CMenuBar::PrivFindMenuWithID to FindMenuWithID (finds a menu given its menuID).
Tracking Number: 1351373
Description: The ListManager list associated with an FW_CListBox isn't resized when the view is resized
Solution: Fixed.
Tracking Number: 1351689
Description: FW_FixedToWide not sign extending results
Solution: Fixed.
Tracking Number: 1352360
Description: FW_CTextRead and FW_CTextWriter do not support double byte characters
Solution: Fixed.
Tracking Number: 1352363
Description: FW_CStringReader doesn't respect the string's local information
Solution: Fixed.
Tracking Number: 1352759
Description: FW_MacZoomWindow calls MacToolbox ZoomWindow with a front parameter of TRUE, causing problems for OpenDoc window management.
Solution: Fixed.
Tracking Number: 1353322
Description: FW_CShapeListRep::FW_CShapeListRep(FW_CReadableStream) can leak memory if an exception is thrown.
Solution: Fixed.
Tracking Number: 1353958
Description: FW_PrivMapping_SetExtents defines 'custom constrained' incorrectly. It should define x and y device extents to be equal...it defines them to be the minimum device extents, which may not be equal.
Solution: Fixed.
Tracking Number: 1353962
Description: FW_PrivRenderBitmap inconsistent with rendering other shapes. The ink's transfer mode is being passed directly to CopyBits, instead of calling GetMacTransferMode to convert the ink's transfer mode to a legal QuickDraw transfer mode.
Solution: Fixed.
Tracking Number: 1354347
Description: FW_CDropTracker data members should be protected, not private
Solution: Change made as requested.
Tracking Number: 1354431
Description: ODFRC: Dangling commas cause dummy items to be inserted into arrays
Solution: Fixed. ODFRC is now tolerant of unnecessary commas.
Tracking Number: 1354525
Description: FW_CStyle::IsEqual and FW_CInk::IsEqual should be const
Solution: Fixed.
Tracking Number: 1354976
Description: Some methods of FW_CString cause asserts in FW_PrivString_Release if they throw exceptions
Solution: Fixed.
Tracking Number: 1355005
Description: Need toomake FW_CFrame::HandleWindowEvent virtual for CyberDog support
Solution: Done.
Tracking Number: 1355393
Description: newFileSpecificationForID mishandles vRefNum and dirID. It calls InitFromFileName for both Mac and Windows files. On the Mac, this results in file specs that have the correct file name, but have the vRefNum and the dirID of the current working directory
Solution: newFileSpecificationForID now creates an FSSpec and calls AssignFileSpec. It also correctly sets the type and creator of the file spec being generated.
Tracking Number: 1355420
Description: Can't terminate threads when using ODF exceptions...NoteTermination creates a try block and iterates over the global guards. One of these is FW_CThreadGuardExceptionGlobals, which destroys the current exception block.
Solution: We now switch to the main thread context during terminate.
Tracking Number: 1355546
Description: Need assert in FW_CBitmap and FW_CPicture when NULL rep
Solution: Asserts were added.
Tracking Number: 1355567
Description: Can't return an autodestruct object from within an FW_TRY block when using ODF emulated exceptions.
Solution: Not solved when using emulated exceptions.
Workaround: Use native exceptions.
Tracking Number: 1356222
Description: FW_Alert dialog layout is inconsistent with Macintosh HI guidelines (spacing is wrong)
Solution: Fixed.
Tracking Number: 1356623
Description: FW_CRect::Map doesn't work when the top of the src and dest rectangle are the same
Solution: FW_CRect::Map now uses FW_CPoint::Map, which works correctly.
Tracking Number: 1356642
Description: FW_MProxy::Externalize and FW_MProxy::Internalize should be virtual.
Solution: Changed as requested.
Tracking Number: 1356965
Description: IF FW_PrivMemoryManager_ResizeSystemHandle fails to resize, the original handle might be disposed. This shows up in user code when an FW_CAcquiredTemporarySystemHandle is resized.
Solution: Handle is no longer disposed when an exception is thrown.
Tracking Number: 1357335
Description: FW_CPullDownMenu::EnableAll doesn't always enable all menu items.
Solution: Fixed.
Tracking Number: 1357804
Description: ODF is intercepting CanvasChanged messages.